package day230320;

import java.util.Scanner;

/**
 * @author 兴趣使然黄小黄
 * @version 1.0
 * @date 2023/3/20 21:59
 * 链接：https://www.nowcoder.com/questionTerminal/2d3f6ddd82da445d804c95db22dcc471
 * 来源：牛客网
 * 牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。
 * 牛牛有一个长度为n的整数数组A,他现在有一个任务是把数组A分为若干段排序子序列,牛牛想知道他最少可以把这个数组分为几段排序子序列.
 */
public class Main1 {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int[] array = new int[n+1]; // 多申请一个空间防止越界
        for(int i = 0; i < n; i++) {
            array[i] = in.nextInt();
        }
        int index = 0;
        int ret = 0; // 记录结果
        while (index < n) {
            if (array[index] < array[index+1]) {
                // 如果是递增的
                while(index < n && array[index] < array[index+1]) {
                    index++;
                }
                ret++;
                index++;
            } else if (array[index] == array[index+1]) {
                index++;
            } else {
                // 其它情况
                while(index < n && array[index] > array[index+1]) {
                    index++;
                }
                ret++;
                index++;
            }
        }
        System.out.println(ret);
        in.close();
    }
}
